字节跳动data系统 后台开发

------------------------------------------------------------------------
一面---时长1小时 
1.自我介绍 
2.项目深挖 
3.四种智能指针 
4.shared_ptr深挖(后面又聊了好多现实场景以及是否会造成内存泄露的问题,面试官好像是java，给我稍微讲了下垃圾回收机制) 
5.TCP UDP深挖 场景使用 特定场景下的选择 
6.TCP三次握手 四次挥手 
7.TCP拥塞控制，TCP超时重传 
8.DNS解析过程 
9.一个URL到页面加载全过程 
10.对称加密和非对称加密 
11.死锁的形成原因以及解决措施 
12.虚函数是什么 
13.linux如何查看端口是否被使用 
15.http协议，还说了个自定制，讨论了好久的自定制协议 
14.两个链表的公共节点(要求空间复杂度O(1)，时间复杂度O(N） 
休息了10分钟，二面 

------------------------------------------------------------------------
二面---时长 1小时10分钟 
1.自我介绍 
2.部门介绍，以及追问可实习的时长 
3.一上来就是一个Linux复杂的查找命令 
4.追加重定向和清空重定向的区别(> , >>) 
5.会数据库吗(不会 , ok好吧) 
6.http和https的区别 
7.http有实际使用过吗(有，那你说一下你使用的方法) 
8.状态码详解 
9.Get方法和Post方法的区别(这里给自己挖了一个坑) 
10.你刚说了Post是2个TCP，为什么比Get多一个TCP 
11.对称加密和非对称加密的实际使用场景(后面给出一个场景，你觉得使用对称还是非对称) 
12.select,poll,epoll的区别 
13.逻辑题---烧绳子(想了一会才说了，还是问我之前是不是看到过) 
14.ok,接下来的时间我么做一个算法题吧，搞了一会，没搞出(面试官:不再思考一下吗),那当然要再思考下了，然后最后还是写了个他不想要的代码 
15.时间到了5点多，ok，那我们今天那就先到这里，你有什么想问我的吗(后续发展建议) 
16.结束了，之后会有hr再联系你 
